using System;
using Server.Items;
using System.Collections;
using System.Collections.Generic;
using Server.Commands;
using Server.Mobiles;
using Server.Targeting;

namespace Server.ClassSystem
{
  // Usare questa classe come template per le altre classi.
    public static class Vendicatore
    {
        // Stats
        private static int[] m_Forza;
        public static int Str(int Livello) { return 95 + (Livello - 12) * 4; }
        public static int Dex(int Livello) { return 67 + (Livello - 12) * 2; }
        public static int Int(int Livello) { return 43 + (Livello - 12) * 3; }
        public static int Forza(int Livello) { return m_Forza[Livello - 1]; }
        public static int Difesa(int Livello) { return 0; }
        public static int Schivare(int Livello) { return 0; }

        // Combattive
        public static double ArmiDaTaglio(int Livello) { return 77.5 + (Livello - 12) * 2.5; }
        public static double ArmiContundenti(int Livello) { return 77.2 + (Livello - 12) * 2.2; }
        public static double ArmiDaPunta(int Livello) { return 77.5 + (Livello - 12) * 2.5; }
        public static double ArmiDaTiro(int Livello) { return 0.0; }
        public static double Lottare(int Livello) { return 51.0 + (Livello - 12) * 1.0; }
        public static double Tattica(int Livello) { return 74.0 + (Livello - 12) * 4.0; }
        public static double Parare(int Livello) { return 62.0 + (Livello - 12) * 2.0; }

        // Conoscenze
        public static double Anatomia(int Livello) { return 35.0; }
        public static double ConoscenzeAnimali(int Livello) { return 0.0; }
        public static double ConoscenzeArmi(int Livello) { return 35.0; }
        public static double IdentificareOggetti(int Livello) { return 0.0; }
        public static double LinguaggioDeiMorti(int Livello) { return 30.0; }
        public static double ConoscenzaTerreSelvagge(int Livello) { return 0.0; }
        public static double ConoscenzeArcane(int Livello) { return 0.0; }
        
        // Sotterfugio
        public static double Cercare(int Livello) { return 0.0; }
        public static double Spiare(int Livello) { return 0.0; }
        public static double Rubare(int Livello) { return 0.0; }
        public static double Nascondersi(int Livello) { return 0.0; }
        public static double MuoversiSilenzioso(int Livello) { return 0.0; }
        public static double RimuovereTrappole(int Livello) { return 0.0; }
        public static double Scassinare(int Livello) { return 0.0; }
        public static double Avvelenare(int Livello) { return 0.0; }
        
        // Altro
        public static double Elemosinare(int Livello) { return 0.0; }
        public static double Curare(int Livello) { return 15.0; }
        public static double Veterinaria(int Livello) { return 0.0; }
        public static double Meditare(int Livello) { return 25.0 + (Livello - 12) * 1.5; }
        public static double ResistenzaMagia(int Livello) { return 68.0 + (Livello - 12) * 3.0; }
        public static double CercareTracce(int Livello) { return 0.0; }
        public static double Suonare(int Livello) { return 0.0; }
        public static double Orientamento(int Livello) { return 0.0; }  

        static Dictionary<int, int> TabellaLivelliMinimi;

        public static void Initialize()
        {
            // Qui definite la tabella della forza
            m_Forza = new int[36] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // liv 1-10
                                   0, 16, 17, 17, 17, 17, 18, 18, 18, 18, // liv 11-20
                                   19, 19, 19, 19, 19, 20, 20, 20, 20, 20, // liv 21-30
                                   20, 20, 20, 20, 20, 20}; // liv 31-36

            TabellaLivelliMinimi = new Dictionary<int, int>();

            // Qui aggiungete i poteri con il livello minimo alla tabella.

            CommandSystem.Register("castXXX", AccessLevel.Player, new CommandEventHandler(ClasseBase.GestoreComandi));
        }

        public static void GestoreComandi(CommandEventArgs e)
        {
            // Qui gestite i comandi.
        }
    }
}